perm filename PINTRP.SRC[PNT,HE] blob
sn#492459 filedate 1980-01-24 generic text, type T, neo UTF8
1) PINTRP.PAL[PNT,HE] and 2) PINTRP.PAL[TMP,MSM] 1-24-80 17:19 pages 1,1
**** File 1) PINTRP.PAL[PNT,HE]/1P/16L
1) C00051 00014 supplementary functions: uparrow,dwnarrow,alpha,dollar,swap,vneg,vsmul,ftof
1) C00055 00015 functions: sqrt,sin,cos,asin,acos,tan,atan2,log,exp
1) C00056 00016 armreach- can arm reach here?
1) C00058 00017 procedure handling: GTBLK
1) C00060 00018 more stack ops: gtint,gvals,chngs
1) C00062 00019 components of data types: CHCMP,GTCMP
1) C00065 00020 signal and wait
1) C00066 00021 return from POINTY : pdone
1) C00067 ENDMK
1) C⊗;
**** File 2) PINTRP.PAL[TMP,MSM]/1P/16L
2) C00050 00014 supplementary functions: uparrow,dwnarrow,alpha,dollar,swap,vneg,vsmul,ftof
2) C00054 00015 functions: sqrt,sin,cos,asin,acos,tan,atan2,log,exp
2) C00055 00016 armreach- can arm reach here?
2) C00057 00017 procedure handling: GTBLK
2) C00059 00018 more stack ops: gtint,gvals,chngs
2) C00061 00019 components of data types: CHCMP,GTCMP
2) C00064 00020 signal and wait
2) C00065 00021 return from POINTY : pdone
2) C00066 ENDMK
2) C⊗;
***************
**** File 1) PINTRP.PAL[PNT,HE]/13P/3L
1) JMP MOVST3 ; used to be MOVST2
1) RTADRIVE: ; absolute drive
1) MOV LRTADRIVE,R2
1) JMP MOVST3 ; used to be MOVST2
1) RTDDRIVE: ; relative drive
1) MOV LRTDDRIVE,R2
1) JMP MOVST3 ; used to be MOVST2
1) RCENTER:
1) MOV LRCENTER,R2
1) JMP MOVST3 ; used to be MOVST2
1) MOVST3:
1) MOV #7,R0 ; get a block to set up stuff for move statement
1) JSR PC,GTFREE
1) PUSH <R0> ; -(SP)←start of block
1) PUSH <IPC(R4)> ; -(SP)←IPC
**** File 2) PINTRP.PAL[TMP,MSM]/13P/3L
2) JMP MOVST3
2) RTADRIVE: ; absolute drive
2) MOV LRTADRIVE,R2
2) JMP MOVST3
2) RTDDRIVE: ; relative drive
2) MOV LRTDDRIVE,R2
1) PINTRP.PAL[PNT,HE] and 2) PINTRP.PAL[TMP,MSM] 1-24-80 17:19 pages 13,13
2) JMP MOVST3
2) RCENTER:
2) MOV LRCENTER,R2
2) JMP MOVST3
2) COMMENT ⊗ Since addresses of pcode in POINTY are relative, this routine
2) fills up a temporary block of pcode in a form digestable to
2) movsta, which it then jumps to
2) Dont mess up R2 in this routine!
2) ⊗;
2) MOVST3:
2) PUSH <IPC(R4)> ; -(SP)←IPC
***************
**** File 1) PINTRP.PAL[PNT,HE]/13P/24L
1) ADD (SP),R1 ; get absolute address of coef list
1) MOV R1,(R0)+ ; 1st word after the move command
1) FETCH <(R0)+> ; mechanism word passed thro unchanged
1) FETCH <(R0)+> ; error bits passed through unchanged
**** File 2) PINTRP.PAL[TMP,MSM]/13P/27L
2) ADD R1,(SP) ; get absolute address of coef list
2) FETCH <R1> ; R1←mechanism word
2) MOV R1,R0
2) JSR PC,@LMECHNM ; Get bit position
2) DEC R0
2) ASL R0 ; Get offset
2) MOV ABLK(R0),R0 ; Get address of buffer
2) POP <(R0)+> ; address of coef list
2) MOV R1,(R0)+ ; mechanism word passed thro unchanged
2) FETCH <(R0)+> ; error bits passed through unchanged
***************
**** File 1) PINTRP.PAL[PNT,HE]/13P/40L
1) JSR PC,MOVSTA ; let AL handle this
1) POP <R0> ; now we can release the block
1) JSR PC,RLFREE ; release the block
1) RTS PC ; IPC will be handled by the rest of the code
1) COMMENT ⊗ used to return numbers for move
1) also uncomment pg 19 ln 99 of interp.pal
1) MOVST2: MOV #XMOVE,@INTPTR ;code for move
1) MOV INTPTR,SVPTR ;save the current pointer
1) ADD #2,INTPTR ;increment pointer
1) MOV INTPTR,-(SP) ;save the pointer
1) CLR RPFLAG ;clear the retry flag
1) JSR PC,MOVSTA ;perform the motion
1) TST RPFLAG ;did we go through a retry?
1) BNE 2$ ;yes, we did
1) PINTRP.PAL[PNT,HE] and 2) PINTRP.PAL[TMP,MSM] 1-24-80 17:19 pages 13,13
1) CMP INTPTR,(SP)+ ;no, satisfactory move(check if move incremented
1) ;pointers
1) BNE 1$ ;yes, don't add anything
1) CLR @INTPTR ;no, clear next two words
1) ADD #2,INTPTR
1) CLR @INTPTR
1) ADD #2,INTPTR
1) 1$: RTS PC ;return
1) 2$: MOV SVPTR,INTPTR ;we went through a retry, back up
1) TST (SP)+ ;pop the stack
1) RTS PC
1) ⊗ ;
1) DATA
**** File 2) PINTRP.PAL[TMP,MSM]/13P/49L
2) JMP MOVSTA ; let AL handle this and return
2) DATA
2) YRBLK: .BLKW 7 ; block for yellow arm
2) YHBLK: .BLKW 7 ; block for yellow hand
2) BRBLK: .BLKW 7 ; block to set up stuff for blue arm
2) BHBLK: .BLKW 7 ; block for blue hand
2) VBLK: .BLKW 7 ; block for vise
2) SBLK: .BLKW 7 ; block for screwdriver
2) ABLK: .WORD YRBLK,YHBLK,BRBLK,BHBLK,VBLK,SBLK
2) CODE
2) DATA
***************